﻿#ifndef LRCPAGE_H
#define LRCPAGE_H

#include <QWidget>
#include <QPropertyAnimation>

// 一行LRC歌词结构体
struct LrcWordLine
{
    LrcWordLine(qint64 lrcTime, QString lrcText)
    {
        this->lrcTime = lrcTime;
        this->lrcText = lrcText;
    }

    qint64 lrcTime;
    QString lrcText;
}typedef LrcWordLine;


namespace Ui {
class LrcPage;
}

class LrcPage : public QWidget
{
    Q_OBJECT

public:
    explicit LrcPage(QWidget *parent = nullptr);
    ~LrcPage();

    bool parseLrcFile(const QString& lrcFilePath); // 传入歌词路径,按序将歌词放入lrcWordLines中;
    void showLrcWordLine(qint64 time);
    int getLrcWordLineIndex(qint64 time);
    QString getLrcWordByIndex(int index);

private:
    Ui::LrcPage *ui;

    QPropertyAnimation* animal; // 设置 lrcPage 背景下移动画

    QVector<LrcWordLine> lrcWordLines; // 每一首歌的所有行  行时间和行内容 的集合
};

#endif // LRCPAGE_H
